Using conventional communications techniques, electronic and/or computerized devices can communicate with each other using one or more communications channels. There can be many different forms of communications channels, but each generally represents an allocation of one or more resources of the mechanisms (e.g. data communications devices, data links or bandwidth) which support communications on the channels. Depending upon the type of communications involved (e.g., wireless versus electronic or land-line), the particular allocation of resources for a communications channel may vary.
By way of example, a networked data communications device such as a router or switch that operates in a computer network such as the Internet might require the ability to provide a certain amount of bandwidth (i.e., throughput of data over time) on one or more communications channels to allow computer systems or other devices connected to the computer network to perform data communications with each other over the channels. In this example, bandwidth is one resource that the router or switch can allocate to a communications channel (e.g., the connection path or flow of information for the device) in varying amounts. The data communications device might allocate large amounts of bandwidth to some computer systems, while other computer systems might only receive or require lesser amounts of the bandwidth resource.
As another example, in a wireless communications system, a wireless device such as a wireless telephone (e.g., a cell phone) can communicate with a wireless base station transceiver (e.g., a cellular communications tower or antenna) over one or more wireless communications channels or links allocated to the wireless device by the base station. The resources which form such a wireless communications channel may include, for example, transmit and receive frequencies, timeslots in which to transmit (e.g., in time division multiple-access (TDMA) wireless systems), frequency codes used for encoding data (e.g., in code division multiple-access (CDMA) wireless systems), and/or power levels at which to transmit information.
The amount of a resource that a communications device can allocate to a communications channel can depend upon a number of factors such as the physical characteristics of the connection, data link or medium supporting the communications channel (e.g., wireless vs. electrical vs. optical connections), software configurations of the devices (e.g., communications protocols in use), hardware configurations of the devices (e.g., buffer sizes, memory sizes, processing and circuitry speeds of processors and circuitry within the device), number of other devices competing for the resources, authorization policies for use of the resources, and so forth. As an example, if a data communications device provides a data communications channel at a bandwidth of 128 Kilobits per second (Kbps), if multiple computer systems need to concurrently transmit data over this channel (i.e., using this link), then each device will have to share the 128 Kbps bandwidth resource of that channel. Since computer systems often transmit data in a bursty manner (i.e., not as a steady flow of information), it might be the case that one computer system requires more use of the resource (the 128 Kbps bandwidth of the channel) at one point in time than another computer system which is not transmitting large amounts of data at that moment in time.
Network engineers have developed data communications protocols to allow a computer system to “reserve” an amount of bandwidth over a communications channel for use by a specific device. One such protocol is called the Reservation Protocol (RSVP). RSVP allows a destination computer system that is receiving a stream of data (e.g., a stream of packets using the Internet Protocol or IP) from a particular source computer system to send an RSVP request message upstream along the path of networked data communications devices (e.g., along the path of routers and/or switches) that transport the stream of packets from the source computer system to the destination computer system. The upstream RSVP request message requests that each data communications device along the path reserve or set-aside a particular amount of bandwidth for use by the stream of packets being transmitted from the source to the destination computer system. Each data communications device (e.g., each router or switch in the network) along the path that receives the RSVP request message can allocate bandwidth resources (e.g., virtual circuits, data buffers, and so forth) to handle the forthcoming packets of information for the stream of data. Once a data communications device reserves bandwidth resources for a particular stream of data, those resources are not used for transporting other streams of data through the data communications device for as long as those resources remain allocated for a particular data stream. In this manner, a requesting computer system can establish or pre-allocate a set of resources in a data communications channel for use in transporting information through a series of data communications devices in a network. Once the communications session using the reserved resources is complete (i.e., once communications has ended), the destination computer system can send an RSVP release message to each data communications device in the path of the stream of data in order for those data communications devices to release the resources allocated to the stream of data.
In conventional communications systems, users of data communications channels (e.g., users controlling the devices that require the use of communications channels) often pay varying costs for varying qualities of service. Generally, a data communications device that provides higher qualities of service allocates or reserves more data communications channel resources on behalf of the devices (e.g., end user devices) requiring such resources. A communications service provider (e.g., an Internet or wireless network service provider) typically charges a higher proportional cost per unit of time to users of data communications channels that have a high allocation of resources, whereas the service provider charges a lower proportional cost for data communications channels that offer lower qualities of service and which have fewer allocated communications channel resources.
Using the RSVP example above to illustrate this point, prior to reserving bandwidth for the stream of data, the source and destination computer systems might pay a particular price for use of the data communications channel at a particular unreserved or shared multi-user bandwidth level. The quality of service level for which the source and destination computer systems pay might allow for varying levels of bandwidth resource consumption during use of the communications channel by all devices sharing the resources of the channel. Without the use of RSVP, users (e.g., source and destination computer systems) of a data communications channel might pay a shared rate (e.g., one dollar per hour) for use of the data communications channel. The data communications channel bandwidth provided within the network at the shared rate may not guarantee that any device has exclusive use of the channel at a particular bandwidth. However, when a computer system uses a resource allocation protocol such as RSVP to reserve or set-aside a guaranteed amount of bandwidth for its own use, the user of that computer system must pay a higher price or cost per unit of time for those resources in order to be guaranteed the quality of service (i.e., the reserved bandwidth level) requested for the data communications channel.